package com.fsl.sicotec.Datos;

import com.fsl.sicotec.comun.Interfaces.IdaoLlamada;
import com.fsl.sicotec.comun.Entidades.Llamada;
import SG.Coneccion.Conecta;
import com.fsl.sicotec.comun.Entidades.Utiles;
import com.fsl.sicotec.comun.Entidades.Cliente;
import java.sql.*;
import java.util.ArrayList;
import java.util.Collection;

/**
 *
 * @author Pablo
 */
public class DaoLlamada implements IdaoLlamada {
    Connection cn = null;
    CallableStatement cs = null;
    ResultSet rs = null;
    Llamada llamada = null;
    ArrayList<Llamada> arrLlamadas = new ArrayList<Llamada>();
    ArrayList<Llamada> arrLlamada = new ArrayList<Llamada>();
    Collection lista;

    public void registrarLlamada(Llamada objLlamada) {
        try {
            cn = new Conecta().getConexion();
            cs = cn.prepareCall("{call sp_si_llamada_insertar (?,?,?,?,?,?)}");
            cs.setString(1, objLlamada.getMotivo());
            cs.setString(2, objLlamada.getFecha());
            cs.setString(3, objLlamada.getHora());
            cs.setString(4, objLlamada.getUsuario_creacion());
            cs.setString(5, objLlamada.getEstacion());
            cs.setInt(6,objLlamada.getCod_cliente());
            cs.execute();
            cs.close();
            cn.close();
        } catch (Exception e) {
             javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }


    //
//CREATE PROCEDURE ``(
//in      `p_vmotivo` varchar(250),
//in      `p_dfecha` varchar(10),
//in      `p_tmhora` varchar(10),
//in      `p_vusuario_creacion` varchar(20),
//in      `p_vestacion` varchar(20),
//in      `p_icod_cliente` int
//)
//


//     try {
//            cn = new Conecta().getConexion();
//            cs = cn.prepareCall("{call sp_si_cliente_insertar (?,?,?,?,?,?,?,?,?)}");
//            cs.setString(1, objCliente.getDni());
//            cs.registerOutParameter(1, Types.VARCHAR);
//            cs.setString(2, objCliente.getApe_paterno());
//            cs.setString(3, objCliente.getApe_materno());
//            cs.setString(4, objCliente.getNombres());
//            cs.setString(5, objCliente.getDireccion());
//            cs.setString(6, objCliente.getTelefono());
//            cs.setString(7, objCliente.getNombre_contacto());
//            cs.setString(8, objCliente.getUsuario_creacion());
//            cs.setString(9, objCliente.getEstacion());
//            cs.execute();
//            dni = cs.getString(1);
//            cs.close();
//            cn.close();
//        } catch (Exception e) {
//            javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
//        }
//
//

















    public ArrayList<Llamada> getLlamada() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public ArrayList<Llamada> getLlamada(String strDNI) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void actualizarLlamada(int intNumLlamada, Llamada objLlamada) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void eliminarLlamada(String intNumLlamada) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public Collection burcarClienteDni(String dni) {

         try {
            cn = new Conecta().getConexion();
            cs = cn.prepareCall("{call sp_si_llamada_busca_cliente_x_dni (?)}");
            cs.setString(1, dni);
            rs = cs.executeQuery();
            lista = new ArrayList();

            while (rs.next()) {
                llamada = new Llamada();
                llamada.setCod_cliente(rs.getInt(1));
                llamada.setDniCliente(rs.getString(2));
                llamada.setNombresCliente(rs.getString(3));
                llamada.setDireccionCliente(rs.getString(4));
                llamada.setContactoCliente(rs.getString(5));
                lista.add(llamada);
            }
            rs.close();
            cs.close();
            cn.close();
        } catch (Exception e) {
            javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
        }
        return lista;
    }

    public Collection burcarClienteNombres(String nombre) {

         try {
            cn = new Conecta().getConexion();
            cs = cn.prepareCall("{call sp_si_llamada_busca_cliente_x_nombres (?)}");
            cs.setString(1, nombre);
            rs = cs.executeQuery();
            lista = new ArrayList();

            while (rs.next()) {
                llamada = new Llamada();
                llamada.setCod_cliente(rs.getInt(1));
                llamada.setDniCliente(rs.getString(2));
                llamada.setNombresCliente(rs.getString(3));
                llamada.setDireccionCliente(rs.getString(4));
                llamada.setContactoCliente(rs.getString(5));
                lista.add(llamada);
            }
            rs.close();
            cs.close();
            cn.close();
        } catch (Exception e) {
            javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
        }
        return lista;
    }






   






//public Collection mostrarLlamada() {
//        try {
//            cn = new Conecta().getConexion();
//            cs = cn.prepareCall("{call sp_si_llamada_seleccionar ()}");
//            rs = cs.executeQuery();
//            lista = new ArrayList();
//
//            while (rs.next()) {
//                objLlamada = new Llamada();
//
//                objLlamada.setNum_llamada(Integer.parseInt(rs.getString(1)));
//                objLlamada.setFecha(rs.getString(2));
//                objLlamada.setHora(rs.getString(3));
//                objLlamada.setEstado(rs.getString(4));
//                objLlamada.setAccion(rs.getString(5));
//                objLlamada.setUsuario_creacion(rs.getString(6));
//                objLlamada.setFecha_creacion(rs.getString(7));
//                objLlamada.setUsuario_control(rs.getString(8));
//                objLlamada.setFecha_control(rs.getString(9));
//                objLlamada.setEstacion(rs.getString(10));
//                objLlamada.setCod_cliente(Integer.parseInt(rs.getString(11)));
//
//                lista.add(objLlamada);
//            }
//            rs.close();
//            cs.close();
//            cn.close();
//        } catch (Exception e) {
//            javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
//        }
//        return lista;
//    }
//
//public void registrarLlamada(Llamada objLlamada) {

//    }





    

}
